Fix a problem with screen changes and csd
authorMatthias Clasen <mclasen@redhat.com>
Fri, 24 Oct 2014 17:30:19 +0000 (13:30 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 24 Oct 2014 19:57:33 +0000 (15:57 -0400)
commitfea13fcfc1a7d9e286d5bb12bdbb8b5acd774001
tree630e4f5f714d086cf6e82e18ac5839f96206e02a
parent2002613012f521d04cf51596a52db074cedfb14d
Fix a problem with screen changes and csd

When a new screen is set on a window, we unrealize it, to
recreate all the resources. But we don't reset the client_decorated
flag, so realize() doesn't call create_decoration() - which makes
sense, since the decoration already exists. But the side-effect
of create_decoration() is to select the rgba visual, and visuals
are per-screen.

Fix this by looking for the rgba visual in set_screen(), and
replacing it with the rgba visual for the new screen, if necessary.
gtk/gtkwindow.c